package com.wt.admin.config;

import javafx.application.Application;
import javafx.concurrent.Worker;
import javafx.event.Event;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import lombok.SneakyThrows;


public class JavaFXApp extends Application {

    @Override
    @SneakyThrows
    public void start(Stage primaryStage) {
        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        // 设置Spring Boot应用的URL
        webEngine.load("http://localhost:8080/admin"); // 假设Spring Boot应用运行在默认端口
        webEngine.setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3");
        webEngine.getLoadWorker().stateProperty().addListener((ov, oldState, newState) -> {
            // 当加载任务状态变为Worker.State.SUCCEEDED时，它会获取当前网页的文档URI
            if (newState != Worker.State.SUCCEEDED) {
                return;
            }
            // 其他事情
        });
        StackPane root = new StackPane(webView);
        Scene scene = new Scene(root, 800, 600);

        // 加载Windows磁盘下的图片
        // Image image1 = new Image("file:D:\\workspace\\monitoring\\monitoring-A200\\src\\main\\resources\\static\\200\\favicon.ico");
        // 加载网络图片，网络地址http://sample.com/res/flower.png
        // Image image = new Image("http://127.0.0.1:8080/200/favicon.ico", 100, 0, false, false);
        // 默认读取的就是 src/mian/resources 下的文件，需要打包后才会有,不支持ico格式
//        Image image = new Image("/static/200/favicon.png");
        // 禁用关闭按钮，也可以自定义关闭逻辑，比如设置弹窗来确认
        primaryStage.setOnCloseRequest(Event::consume);
//        primaryStage.getIcons().add(image);
        // 设置标题
        primaryStage.setTitle("easyAIPlus综合管理平台");
        // 设置窗口
        primaryStage.setScene(scene);
        // 显示窗口
        primaryStage.show();
    }

}
